#ifndef __VFS_DEVFS_H__
#define __VFS_DEVFS_H__


#define MAX_PARTITION_SUPPORT 4
#define MAX_PARTITION_NAME_LEN   16

typedef struct{
    UINT8    fs_type;
    char    name[MAX_PARTITION_NAME_LEN];
}published_patition_info;

typedef enum
{
    FAT_PARTITION,
    NTFS_PARTITION
}PARTITION_TYPE;

int devfs_publish_device(const char* path, struct device_opertions* ops, void* pnode );
int	devfs_unpublish_device(const char *path, bool disconnect);
int devfs_publish_partition(const char *path, const struct partition_info *info);
int devfs_unpublish_partition(const char *path);
int devfs_publish_file_device(const char *path, const char *filePath);
int devfs_unpublish_file_device(const char *path);

int decode_disk_partitions( device_geometry* psDiskGeom, 
							struct partition_info* pasPartitions, 
							int nMaxPartitions, 
							void* pnode, 
							disk_read_op* pfReadCallback );









#endif //__VFS_DEVFS_H__

